import request from "../../utils/request"
import config from "../../config"
import westore from "../../utils/westore/westore"

westore.createPage({
  /**
   * 页面的初始数据
   */
  data: {
    phone: "",
    password: "",
  },

  // 表单项内容发生改变的回调
  handleInput(event) {
    let type = event.currentTarget.id; // id传值 取值： phone || password
    // let type = event.currentTarget.dataset.type; // data-key=value
    // console.log(event);
    this.setData({
      [type]: event.detail.value
    })
  },

  //登录处理
  async login(event) {
    let {
      phone,
      password
    } = this.data;
    if (!phone) {
      // 提示用户
      wx.showToast({
        title: '账号不能为空',
        icon: 'error'
      })
      return;
    }
    // 定义正则表达式
    let phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$/;
    if (!phoneReg.test(phone)) {
      wx.showToast({
        title: '手机号格式错误',
        icon: 'error'
      })
      return;
    }

    if (!password) {
      wx.showToast({
        title: '密码不能为空',
        icon: 'error'
      })
      return;
    }

    // 后端验证
    let result = await request.post('login/cellphone', {
      phone,
      password,
      isLogin: true
    }, true)
    if (result.code === 200) { // 登录成功
      wx.showToast({
        title: '登录成功'
      })
      // 将用户的信息json序列化后存储至本地
      wx.setStorageSync(config.STORE_USER_INFO_KEY, JSON.stringify(result.profile))

      // 同步用户信息到westore
      this.store.update({
        userInfo: result.profile,
        isUserLogin: true,
      });

      // 关闭当前页面
      wx.navigateBack();

    } else if (result.code === 400) {
      wx.showToast({
        title: '手机号错误',
        icon: 'none'
      })
    } else if (result.code === 502) {
      wx.showToast({
        title: '密码错误',
        icon: 'none'
      })
    } else {
      wx.showToast({
        title: '登录失败，请重新登录',
        icon: 'none'
      })
    }
  }
})